﻿Public Class frmQuanLyQuyDinh


    Dim listLoaiNha As New List(Of LoaiNhaDTO)
    Dim listQuan As New List(Of QuanDTO)
    Dim SLLoaiNha As Integer = ThamSoBUS.SLLoaiNha

    Private Sub frmQuanLyQuyDinh_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        listLoaiNha = LoaiNhaBUS.GetAll()
        gvDSLoaiNha.DataSource = listLoaiNha
        gvDSLoaiNha.AutoGenerateColumns = False

        Dim SLLoaiNha As Integer = ThamSoBUS.SLLoaiNha()
        txtSoLuongLoaiNha.Text = SLLoaiNha

        If (listLoaiNha.Count = SLLoaiNha) Then
            btnThemLN.Enabled = False
        End If


        listQuan = QuanBUS.GetAll()
        gvDSQuan.DataSource = listQuan
        gvDSQuan.AutoGenerateColumns = False

        Dim qd As New ThamSoDTO()
        qd = ThamSoBUS.LaySLQuan_NhaTD()
        txtSoLuongQuan.Text = qd.iSoluongQuan

        txtSoLuongNhaTD.Text = qd.iSLNhaToiDaMoiQuan

        If (listQuan.Count = qd.iSoluongQuan) Then
            btnThemDongQ.Enabled = False
        Else
            btnThemDongQ.Enabled = True
        End If

        txtSoLuongQuan.Enabled = False
        txtSoLuongNhaTD.Enabled = False
        txtSoLuongLoaiNha.Enabled = False
        btnLuuSLLoaiNha.Enabled = False
        btnLuuLai.Enabled = False
        brnLuuCNQuan.Enabled = False
        btnLuuQuanCN.Enabled = False
    End Sub

    Private Sub gvDSLoaiNha_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gvDSLoaiNha.SelectionChanged
        Dim maloainha As String = gvDSLoaiNha.CurrentRow.Cells(0).Value
        txtMaLN.Text = maloainha
        txtTenLN.Text = gvDSLoaiNha.CurrentRow.Cells(1).Value
    End Sub

    Private Sub gvDSQuan_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gvDSQuan.SelectionChanged
        Dim maquan As String = gvDSQuan.CurrentRow.Cells(0).Value
        txtMaQuan.Text = maquan
        txtTenQuan.Text = gvDSQuan.CurrentRow.Cells(1).Value
    End Sub

    Private Sub btnThemLN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThemLN.Click
        txtTenLN.Text = ""
        btnLuuLai.Enabled = True
        btnXoaLN.Enabled = False
        btnCapNhatLN.Enabled = False
    End Sub

    Private Sub btnLuuLai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLuuLai.Click

        Dim quydinhLN As New LoaiNhaDTO()

        If LoaiNhaBUS.KiemTraDayDu(txtTenLN.Text) Then

            quydinhLN.strTenLoaiNha = txtTenLN.Text

            LoaiNhaBUS.Insert(quydinhLN)

            MessageBox.Show("Thông tin đã Thêm  thành công!", "THÔNG BÁO")

            Dim listNguoiDang As New List(Of LoaiNhaDTO)
            listNguoiDang = LoaiNhaBUS.GetAll()
            gvDSLoaiNha.DataSource = listNguoiDang
            gvDSLoaiNha.AutoGenerateColumns = False

            If (listLoaiNha.Count = SLLoaiNha) Then
                btnThemLN.Enabled = False
            Else
                btnThemLN.Enabled = True
            End If
        Else
            MessageBox.Show("Bạn chưa nhập đủ thông tin cần thiết!", "THÔNG BÁO")
        End If
        btnLuuLai.Enabled = False
        btnXoaLN.Enabled = True
        btnCapNhatLN.Enabled = True
    End Sub

    Private Sub btnXoaLN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnXoaLN.Click
        If IsNothing(gvDSLoaiNha.SelectedRows) Then
            MessageBox.Show("Bạn chưa chọn dòng nào để Xóa!!", "THÔNG BÁO")
        Else
            If MessageBox.Show("Bạn có chắc chắn Xóa không?", "THÔNG BÁO", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = DialogResult.Yes Then
                Dim idmaloainha As String = txtMaLN.Text
                LoaiNhaBUS.delete_LoaiNha(idmaloainha)
                MessageBox.Show("Dữ liệu đã được Xóa!!", "THÔNG BÁO")

                Dim listNguoiDang As New List(Of LoaiNhaDTO)
                listNguoiDang = LoaiNhaBUS.GetAll()
                gvDSLoaiNha.DataSource = listNguoiDang
                gvDSLoaiNha.AutoGenerateColumns = False
            End If


        End If
    End Sub

    Private Sub btnCapNhatLN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCapNhatLN.Click
        Dim quydinhLN As New LoaiNhaDTO()
        If LoaiNhaBUS.KiemTraDayDu(txtTenLN.Text) Then

            quydinhLN.iMaLoaiNha = txtMaLN.Text
            quydinhLN.strTenLoaiNha = txtTenLN.Text

            LoaiNhaBUS.Update(quydinhLN)

            MessageBox.Show("Bạn đã Cập Nhật thành công !!", "THÔNG BÁO")

            Dim listNguoiDang As New List(Of LoaiNhaDTO)
            listNguoiDang = LoaiNhaBUS.GetAll()
            gvDSLoaiNha.DataSource = listNguoiDang
            gvDSLoaiNha.AutoGenerateColumns = False
        Else
            MessageBox.Show("Bạn chưa nhập đủ thông tin cần thiết!", "THÔNG BÁO")
        End If
    End Sub
    Dim SluongcuLoaiNha As Integer = 0
    Private Sub btnSuaSLLoaiNha_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSuaSLLoaiNha.Click
        btnLuuSLLoaiNha.Enabled = True
        txtSoLuongLoaiNha.Enabled = True
        SluongcuLoaiNha = listLoaiNha.Count
    End Sub

    Private Sub btnLuuSLLoaiNha_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLuuSLLoaiNha.Click
        Dim quydinhthamso As New ThamSoDTO()
        If ThamSoBUS.KiemTraDayDu(txtSoLuongLoaiNha.Text) Then
            If txtSoLuongLoaiNha.Text >= SluongcuLoaiNha Then
                quydinhthamso.iSLLoaiNha = txtSoLuongLoaiNha.Text

                ThamSoBUS.Update(quydinhthamso)

                MessageBox.Show("Thông tin đã Cập nhật thành công!", "THÔNG BÁO")


                txtSoLuongLoaiNha.Text = SLLoaiNha

                Dim listLoaiNha As New List(Of LoaiNhaDTO)
                listLoaiNha = LoaiNhaBUS.GetAll()
                gvDSLoaiNha.DataSource = listLoaiNha
                gvDSLoaiNha.AutoGenerateColumns = False

                If (listLoaiNha.Count = SLLoaiNha) Then
                    btnThemLN.Enabled = False
                Else
                    btnThemLN.Enabled = True
                End If
            Else
                MessageBox.Show("Số lượng quận tối đa không thể nhỏ hơn số lượng củ bằng " & SluongcuLoaiNha)
                txtSoLuongLoaiNha.Text = SluongcuLoaiNha
            End If


        Else
            MessageBox.Show("Bạn chưa nhập đủ thông tin cần thiết!", "THÔNG BÁO")
        End If
        txtSoLuongLoaiNha.Enabled = False
        btnLuuSLLoaiNha.Enabled = False
    End Sub

    Dim SluongcuQuan As Integer = 0

    Private Sub btnSuaCNQuan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSuaCNQuan.Click
        txtSoLuongQuan.Enabled = True
        txtSoLuongNhaTD.Enabled = True
        brnLuuCNQuan.Enabled = True

        SluongcuQuan = listQuan.Count
    End Sub

    Private Sub brnLuuCNQuan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles brnLuuCNQuan.Click

        Dim quydinhthamso As New ThamSoDTO()

        If ThamSoBUS.KiemTraDayDu1(txtSoLuongQuan.Text, txtSoLuongLoaiNha.Text) Then
            If txtSoLuongQuan.Text >= SluongcuQuan Then
                quydinhthamso.iSoluongQuan = txtSoLuongQuan.Text
                quydinhthamso.iSLNhaToiDaMoiQuan = txtSoLuongNhaTD.Text

                ThamSoBUS.Update1(quydinhthamso)

                MessageBox.Show("Thông tin đã Cập nhật thành công!", "THÔNG BÁO")

                Dim qd As New ThamSoDTO()
                qd = ThamSoBUS.LaySLQuan_NhaTD()
                txtSoLuongQuan.Text = qd.iSoluongQuan
                txtSoLuongNhaTD.Text = qd.iSLNhaToiDaMoiQuan

                If (listQuan.Count = txtSoLuongQuan.Text) Then
                    btnThemDongQ.Enabled = False
                Else
                    btnThemDongQ.Enabled = True
                End If
            Else
                MessageBox.Show("Số lượng quận tối đa không thể nhỏ hơn số lượng củ bằng " & SluongcuQuan)
                txtSoLuongQuan.Text = SluongcuQuan
            End If


        Else
            MessageBox.Show("Bạn chưa nhập đủ thông tin cần thiết!", "THÔNG BÁO")
        End If

        txtSoLuongQuan.Enabled = False
        txtSoLuongNhaTD.Enabled = False
        brnLuuCNQuan.Enabled = False
    End Sub

    Private Sub btnThemDongQ_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThemDongQ.Click
        txtTenQuan.Text = ""
        btnLuuQuanCN.Enabled = True
        btnXoaDongQ.Enabled = False
        btnCapNhatQuan.Enabled = False
    End Sub

    Private Sub btnXoaDongQ_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnXoaDongQ.Click
        If IsNothing(gvDSQuan.SelectedRows) Then
            MessageBox.Show("Bạn chưa chọn dòng nào để Xóa!!", "THÔNG BÁO")
        Else
            If MessageBox.Show("Bạn có chắc chắn Xóa không?", "THÔNG BÁO", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = DialogResult.Yes Then
                Dim idmaquan As String = txtMaQuan.Text
                QuanBUS.delete_Quan(idmaquan)
                MessageBox.Show("Dữ liệu đã được Xóa!!", "THÔNG BÁO")

                Dim listQuan As New List(Of QuanDTO)
                listQuan = QuanBUS.GetAll()
                gvDSQuan.DataSource = listQuan
                gvDSQuan.AutoGenerateColumns = False

            End If

        End If
    End Sub

    Private Sub btnCapNhatQuan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCapNhatQuan.Click
        Dim quydinhQuan As New QuanDTO()
        If QuanBUS.KiemTraDayDu(txtTenQuan.Text) Then

            quydinhQuan.iMaQuan = txtMaQuan.Text
            quydinhQuan.strTenQuan = txtTenQuan.Text

            QuanBUS.Update(quydinhQuan)

            MessageBox.Show("Bạn đã Cập Nhật thành công !!", "THÔNG BÁO")

            Dim listQuan As New List(Of QuanDTO)
            listQuan = QuanBUS.GetAll()
            gvDSQuan.DataSource = listQuan
            gvDSQuan.AutoGenerateColumns = False


        Else
            MessageBox.Show("Bạn chưa nhập đủ thông tin cần thiết!", "THÔNG BÁO")
        End If
    End Sub

    Private Sub btnLuuQuanCN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLuuQuanCN.Click
        Dim quydinhQuan As New QuanDTO()

        If QuanBUS.KiemTraDayDu(txtTenQuan.Text) Then

            quydinhQuan.strTenQuan = txtTenQuan.Text

            QuanBUS.Insert(quydinhQuan)

            MessageBox.Show("Thông tin đã Thêm  thành công!", "THÔNG BÁO")

            Dim listQuan As New List(Of QuanDTO)
            listQuan = QuanBUS.GetAll()
            gvDSQuan.DataSource = listQuan
            gvDSQuan.AutoGenerateColumns = False

            If (listQuan.Count = txtSoLuongQuan.Text) Then
                btnThemDongQ.Enabled = False
            Else
                btnThemDongQ.Enabled = True
            End If
        Else
            MessageBox.Show("Bạn chưa nhập đủ thông tin cần thiết!", "THÔNG BÁO")
        End If
        btnLuuLai.Enabled = False
        btnXoaLN.Enabled = True
        btnCapNhatLN.Enabled = True
    End Sub
End Class